---
title: MergeRequest
summary: API reference for MergeRequest.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-17
library: PdfAPI.Core
reference_type: package
---

# MergeRequest

`MergeRequest` is the multi-document merge request, extending `PdfRequest` with an array of `DocumentRange` entries — each contributing its own document and selected pages to the merged output.

## Purpose
- Carries the ordered set of `DocumentRange` entries (document + page selection) to be combined into a single merged PDF.

## Context
- Namespace: `PdfAPI.Core`
- Assembly/package: `PdfAPI.Core`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| DocumentRanges | `DocumentRange[] DocumentRanges { get; set; }` | The documents and page selections to merge, in order. |
| ToString() | `override string ToString()` | Renders a diagnostic summary of the request. |

## Inherited public members

Members in this section are inherited from `PdfRequest` in `PdfAPI.Core`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| Id | `Guid Id` | Public field identifying this request instance. | `PdfAPI.Core` — `PdfRequest` |
| TrackingEnabled | `bool TrackingEnabled { get; set; }` | Whether the platform should record tracking metadata for this request. | `PdfAPI.Core` — `PdfRequest` |
| PdfConversionType | `PdfConversionType PdfConversionType { get; }` | Fixed to `Merge` for this request type. | `PdfAPI.Core` — `PdfRequest` |
| SourceSystemId | `string SourceSystemId { get; set; }` | Caller-supplied identifier correlating this request back to an originating system. | `PdfAPI.Core` — `PdfRequest` |
| SendHeatEmailOnFailure | `bool SendHeatEmailOnFailure { get; set; }` | Whether a failure-notification email should be sent when this request fails. | `PdfAPI.Core` — `PdfRequest` |
| Options | `PdfOptions Options { get; set; }` | Output and cleanup options applied to this request. | `PdfAPI.Core` — `PdfRequest` |
| SaveOutputPdf | `bool SaveOutputPdf { get; set; }` (default `true`) | Whether the produced output PDF should be persisted. | `PdfAPI.Core` — `PdfRequest` |
| TrackingData | `PdfTrackingMetadata TrackingData { get; set; }` | Tracking metadata associated with this request. | `PdfAPI.Core` — `PdfRequest` |
| Name | `[Obsolete] string Name` | Legacy request-name field retained for backward compatibility.* | `PdfAPI.Core` — `PdfRequest` |
| RetryIntervalMilliseconds | `[Obsolete] int RetryIntervalMilliseconds` | Legacy retry-interval field retained for backward compatibility.* | `PdfAPI.Core` — `PdfRequest` |
| RetryCount | `[Obsolete] int RetryCount` | Legacy retry-count field retained for backward compatibility.* | `PdfAPI.Core` — `PdfRequest` |

## Behavioral notes
- Each `DocumentRange` in `DocumentRanges` defaults to all pages when constructed without an explicit page selection. ([BR-30](../../business-rules.md#br-30-empty-page-ranges-default-to-all-pages))

## Constraints and usage notes
- The order of `DocumentRanges` determines the order documents are merged in the output.*

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts.

## Related documentation
- [Index](../../index.md)
- [Overview](../../overview.md)
- [Architecture](../../architecture.md)
- [Dependencies](../../dependencies.md)
- [Operations and processes](../../operations-processes.md)
- [Business rules](../../business-rules.md)
- [Security and authorization](../../security-authorization.md)
- [API reference](../index.md)

## Sources
- `PdfAPI.Core\Request\MergeRequest.cs`
